package com.ruoyi.statisticalCenter.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.logistic.domain.NetworkName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

//承包区发件成本测算
@Data
public class ScContractAreaSendCostCalculate implements Serializable {
    private String id;
    private static final long serialVersionUID = -2098571854089430134L;
    // 统计日期
    @Excel(name = "统计日期")
    @ApiModelProperty("统计日期")
    private String collectDate;
    // 承包区名称
    @Excel(name = "名称")
    private String contractAreaName;
    // 出件票数
    @Excel(name = "出件票数")
    private Integer dispatchParcelCount = 0;
    // 包仓外中转费
    @Excel(name = "包仓外中转费")
    private Double transferFee = 0.0;
    // 中转考核
    @Excel(name = "中转考核")
    private BigDecimal transferExamine = BigDecimal.ZERO;
    // 全网出港费应收（计算方式：出件票数*0.15）
    @Excel(name = "全网出港费应收")
    private BigDecimal totalOutboundReceivableFee = BigDecimal.ZERO;
    // 大货计重收费-金额
    @Excel(name = "大货计重收费-金额")
    private BigDecimal largeCargoDeliveryChargeAmount = BigDecimal.ZERO;
    // 大货计重收费-票数
    @Excel(name = "大货计重收费-票数")
    private Integer largeCargoDeliveryChargeParcelCount = 0;
    // 大货计重收费-单价（计算方式：金额/票数）
    @Excel(name = "大货计重收费-单价")
    private BigDecimal largeCargoDeliveryChargeUnitPrice = BigDecimal.ZERO;
    // 大货操作费-金额
    @Excel(name = "大货操作费-金额")
    private BigDecimal largeCargoHandlingFeeReceivableAmount = BigDecimal.ZERO;
    // 大货操作费-票数
    @Excel(name = "大货操作费-票数")
    private Integer largeCargoHandlingFeeReceivableParcelCount = 0;
    // 大货操作费-单价（计算方式：金额/票数）
    @Excel(name = "大货操作费-单价")
    private BigDecimal largeCargoHandlingFeeUnitPrice = BigDecimal.ZERO;
    // 包仓费
    @Excel(name = "包仓费")
    private BigDecimal fixedWarehousingFee = BigDecimal.ZERO;
    // 出港操作费-金额
    @Excel(name = "出港操作费-金额")
    private BigDecimal outboundHandlingFeeReceivableAmount = BigDecimal.ZERO;
    // 出港操作费-票数
    @Excel(name = "出港操作费-票数")
    private Integer outboundHandlingFeeReceivableParcelCount = 0;
    // 出港操作费-单价（计算方式：金额/票数）
    @Excel(name = "出港操作费-单价")
    private BigDecimal outboundHandlingFeeUnitPrice = BigDecimal.ZERO;
    // 基础派费收费调整-金额
    @Excel(name = "基础派费收费调整-金额")
    private BigDecimal basicDeliveryChargeAdjustmentAmount = BigDecimal.ZERO;
    // 基础派费收费调整-票数
    @Excel(name = "基础派费收费调整-票数")
    private Integer basicDeliveryChargeAdjustmentParcelCount = 0;
    // 基础派费收费调整-单价（计算方式：金额/票数）
    @Excel(name = "基础派费收费调整-单价")
    private BigDecimal basicDeliveryChargeAdjustmentUnitPrice = BigDecimal.ZERO;
    // 周期性派费收费
    @Excel(name = "周期性派费收费")
    private BigDecimal periodicDeliveryCharge = BigDecimal.ZERO;
    // 乡镇村业务费用
    @Excel(name = "乡镇村业务费用")
    private BigDecimal townSubsidyCharge = BigDecimal.ZERO;
    // 退件操作费
    @Excel(name = "退件操作费")
    private BigDecimal returnHandlingFee = BigDecimal.ZERO;
    // 退件中转费
    @Excel(name = "退件中转费")
    private BigDecimal returnTransferFee = BigDecimal.ZERO;
    // 进港退件操作费
    @Excel(name = "进港退件操作费")
    private BigDecimal enterReturnTransferFee = BigDecimal.ZERO;
    // 异形件操作费
    @Excel(name = "异形件操作费")
    private BigDecimal irregularItemHandlingFee = BigDecimal.ZERO;
    // 进港异形件操作费
    @Excel(name = "进港异形件操作费")
    private BigDecimal enterIrregularItemHandlingFee = BigDecimal.ZERO;
    // 短驳费
    @Excel(name = "短驳费")
    private BigDecimal drayage = BigDecimal.ZERO;
    // 网点违规退回考核
    @Excel(name = "网点违规退回考核")
    private BigDecimal netFineReturnExamine = BigDecimal.ZERO;
    // 三个100%投诉
    @Excel(name = "三个100%投诉")
    private BigDecimal threeHundredComplaint = BigDecimal.ZERO;
    // 违规重量考核
    @Excel(name = "违规重量考核")
    private BigDecimal overweightFineExamine = BigDecimal.ZERO;
    // 揽收时效考核
    @Excel(name = "揽收时效考核")
    private BigDecimal lanshouTimeExamine = BigDecimal.ZERO;
    // 实名制考核收费
    @Excel(name = "实名制考核收费")
    private BigDecimal realNameExamine = BigDecimal.ZERO;
    // 物流信息考核
    @Excel(name = "物流信息考核")
    private BigDecimal logisticsInfoExamine = BigDecimal.ZERO;
    // 交货时效考核
    @Excel(name = "交货时效考核")
    private BigDecimal deliveryTimeExamine = BigDecimal.ZERO;
    // 违禁品
    @Excel(name = "违禁品")
    private BigDecimal contraband = BigDecimal.ZERO;
    // 合包不规范
    @Excel(name = "合包不规范")
    private BigDecimal encapsulationNotStandard = BigDecimal.ZERO;
    // 错发件
    @Excel(name = "错发件")
    private BigDecimal errorSent = BigDecimal.ZERO;
    // 热敏面单未规范使用
    @Excel(name = "热敏面单未规范使用")
    private BigDecimal violateUseThermalLabelReceipt = BigDecimal.ZERO;
    // 面单购进单价
    @Excel(name = "面单购进单价")
    private BigDecimal sheetBuyPrice = BigDecimal.ZERO;
    // 面单成本
    @Excel(name = "面单成本")
    private BigDecimal sheetCost = BigDecimal.ZERO;
    // 面单充值单价
    @Excel(name = "面单充值单价")
    private BigDecimal sheetTopUpPrice = BigDecimal.ZERO;
    // 面单销售额
    @Excel(name = "面单销售额")
    private BigDecimal sheetSaleroom = BigDecimal.ZERO;
    // 面单结余
    @Excel(name = "面单结余")
    private BigDecimal sheetSurplus = BigDecimal.ZERO;
    // 支付承包区返利合计
    @Excel(name = "支付承包区返利合计")
    private BigDecimal payContractAreaRebate = BigDecimal.ZERO;
    // 出港成本
    @Excel(name = "出港成本")
    private BigDecimal outBoundCost = BigDecimal.ZERO;
    // 单票成本
    @Excel(name = "单票成本")
    private BigDecimal oneTicketCost = BigDecimal.ZERO;

    private List<ScContractAreaSendCostCalculate> children;
}
